package cn.oracle.eshop.auth.service;

import cn.oracle.eshop.auth.domain.PriorityDTO;
import cn.oracle.eshop.auth.domain.PriorityDo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**权限管理模块的services组件接口
 * @author wyh
 * @ClassName ProrityService
 * @date 2022/1/12 /22:06
 */

public interface PriorityService {
    /****
     * 获取根权限
     * @author wyh
     * @date 2022/1/12
     * @param
     * @return 根权限集合
     */

    List<PriorityDTO> listRootPriorites();
    /***
     * 根据父权限ID查询子权限
     * @author wyh
     * @date 2022/1/22
     * @param parentId
     * @return java.util.List<cn.oracle.eshop.auth.domain.PriorityDTO>
    */
    List<PriorityDTO>listChildPriorities(long parentId);
    /***
     * 新增权限
     * @author wyh
     * @date 2022/1/22
     * @param priorityDTO
     * @return void
     */

    Boolean savePriority(PriorityDTO priorityDTO);
    /***
     *  更新权限
     * @author wyh
     * @date 2022/1/22
     * @param priorityDTO
     * @return void
     */

    Boolean updatePriorityDo (PriorityDTO priorityDTO);
    /***
     * 查询权限
     * @author wyh
     * @date 2022/1/22
     * @param id  权限DO对象
     * @return void
     */
    PriorityDTO getPriorityById(@Param("id") long id);
    /***
     *删除权限
     * @author wyh
     * @date 2022/1/22
     * @param id  权限Id
     * @return 处理结果
    */
    Boolean removePriority(Long id);
}
